/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.seguridad.controlador;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import sv.com.intesal.clases.RutaProyecto;
import sv.com.intesal.conexion.cConexion;
import sv.com.intesal.seguridad.bean.Login;
import sv.com.intesal.seguridad.bean.SessionBean;
import sv.com.intesal.seguridad.sql.SQLLogin;

/**
 *
 * @author JM
 */
public class LoginControlador {

    public Boolean validarLogin(Login l) throws Exception {

        PreparedStatement ps = null;
        ResultSet rs = null;
        Connection cnn = null;
        try {
            cnn = cConexion.conectar();
            ps = cnn.prepareStatement(SQLLogin.USUARIO);
            ps.setString(1, l.getUsuario_u());
            ps.setString(2, l.getClave_u());
            rs = ps.executeQuery();
            if (rs.next()) {
                /*SESSION DE PERSON*/
                FacesContext context = FacesContext.getCurrentInstance();
                HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
                SessionBean person = (SessionBean) session.getAttribute("person");

                if (person == null) {
                    person = new SessionBean();
                    session.setAttribute("person", person);
                }

                /*NOMBRE DE EMPLEADO*/
                person.setNombre_em(rs.getString("nombre_e"));
                person.setApellido_em(rs.getString("apellido_e"));
                person.setCodigo_em(rs.getInt("id_e"));//id de empleado
                person.setNombre_completo_em(rs.getString("nombre_e") + " " + rs.getString("apellido_e"));

                /*USUARIO*/
                person.setUser(rs.getString("usuario_u"));
                person.setNivel(rs.getString("nivel_u"));
                person.setCodigo_u(rs.getInt("id_u"));//id de usuario

                person.setCodigo_s(rs.getInt("codigo_s"));
                person.setCodigo_proceso_modificar(0);
                person.setCodigo_proceso_dc(0);//devolucion de compra id

                MenuModelControlador mm = new MenuModelControlador();
                person.setMenuModel(mm.getMenu_x_Usuario());

                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public void loginValido_Redireccionar_PaginaPrincipal() throws Exception {

        try {
            /*REDIRECCIONAR A LA PAGINA DE BIENVENIDA*/
            FacesContext context = FacesContext.getCurrentInstance();
            context.getExternalContext().redirect(RutaProyecto.wfrmPrincipal);
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
}